FIG. 1 provides an overview of a prediction process. A candidate list is created 104 based on received user input. For example, a user may enter the letters “os” into a computing device, such as a table personal computer (PC). The computing device may create a candidate list of words that start with the received user input. Predictive support may be activated 106 (e.g., when a certain number of characters have been received) and then presented 108 to the user, such as an on-screen display presentation. The user may then select 110 a candidate, which is then inserted into the document.
Such prediction mechanisms for auto-completion of text are successful in specialized applications, such as integrated development environments for creating computer applications. This is partially because programming languages have a limited vocabulary and a well defined grammar. However, prediction mechanisms may fail in general purpose editors, such as word processing applications, unless the completion is unambiguous (for example, the completion of a date or signature). This is particularly a problem for languages with complex morphology where a word may have a multitude of forms varying by the endings, or where words can combine with other words for form long compounds. Phenomena like this make it difficult for the system to determine an unambiguous completion. This can be frustrating for users who wish to benefit from a prediction mechanism, particularly users who are creating documents for specialized fields where the use of complicated, and sometimes lengthy, terms are common, such as the areas of law or medicine.
Existing systems may also fail to provide an effective methodology of selecting a desired word when a large candidate list of possible words is available. For example, if thirty words are associated with received user input, it may be more time consuming to scroll through the entries than to complete the user input without the support of a prediction mechanism. Long lists of candidates may pose an even more significant challenge for small-screen devices, such as mobile phones, personal digital assistants, etc. Although it may be possible to reduce the candidate list by waiting until more user input is received before activating the list, this benefit may come at the expense of providing meaningful predictive support to the user.